
public class FacesUtils_ {
	// protected static final String RESOURCE_BUNDLE = "resources.messages";
	// public static final String ERROR_PAGE = "/error/Error.jsf";
	// public static final String ERROR_HTML_PAGE = "/error/Error.html";
	// public static final String ERROR_VIEW_ID = "/error/Error.xhtml";
	// public static final String MAIN_PAGE = "/Main.jsf";
	// public static final String LOGOUT_PAGE = "/Logout.jsf";
	// public static final String LOGIN_PAGE = "/Login.jsf";
	// public static final String RELEASE_LOCK_PAGE_PATH =
	// "/includes/PageLock.jsf";
	// public static final String CANCEL_VIEW_ID = "/includes/Cancel.xhtml";
	//
	// private Locale locale;
	//
	// public static FacesContext getFacesContext() {
	// return FacesContext.getCurrentInstance();
	// }
	//
	// public static String getContextPath() {
	// HttpServletRequest request = (HttpServletRequest)
	// FacesContext.getCurrentInstance().getExternalContext().getRequest();
	// return request.getContextPath();
	// }
	//
	// public static Map<String, Object> getSessionMap() {
	// return
	// FacesContext.getCurrentInstance().getExternalContext().getSessionMap();
	// }
	//
	// public static HttpSession getHttpSession() {
	// return (HttpSession)
	// FacesContext.getCurrentInstance().getExternalContext().getSession(false);
	// }
	//
	// public static String getClientBrowserAgent() {
	// return ((HttpServletRequest)
	// FacesContext.getCurrentInstance().getExternalContext().getRequest()).getHeader("User-Agent");
	// }
	//
	// public static void invalidateSession() {
	//
	// if (getUserSession().getUserInfo() != null)
	// Logger.info(FacesUtils.class,
	// "Invalidate http session for customer number:"
	// + getUserSession().getCustomerNumber());
	//
	// removeActiveSession();
	//
	// if (getHttpSession() != null)
	// getHttpSession().invalidate();
	//
	// }
	//
	// private static void removeActiveSession() {
	// if (getUserSession().getUser() != null) {
	// boolean hasSession = ActiveSessionList.getInstance().isSessionExists(
	// getUserSession().getActiveSessionIndex(),
	// getUserSession().getUser().getId(),
	// getHttpSession().getId());
	// if (hasSession) {
	// ActiveSessionList.getInstance().removeSessionForIndex(getUserSession().getActiveSessionIndex());
	// }
	// }
	// }
	//
	// public static boolean sessionMapContains(String key) {
	// return getSessionMap().containsKey(key);
	// }
	//
	// public static void sessionMapPut(String key, Object value) {
	// getSessionMap().put(key, value);
	// }
	//
	// public static Object sessionMapGet(String key) {
	// return getSessionMap().get(key);
	// }
	//
	// public static void sessionMapRemove(String key) {
	// getSessionMap().remove(key);
	// }
	//
	// public static Object sessionMapGetAndRemove(String key) {
	// Object value;
	// value = sessionMapGet(key);
	// sessionMapRemove(key);
	// return value;
	// }
	//
	// public static String getRequestParameter(String key) {
	// return
	// FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(key);
	// }
	//
	// public static boolean containsRequestParameter(String key) {
	// return
	// FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().containsKey(key);
	// }
	//
	// public static UserSessionBean getUserSession() {
	// UserSessionBean userSession = (UserSessionBean)
	// getManagedSessionBean("UserSession");
	// return userSession;
	// }
	//
	// public static ApplicationBean getApplication() {
	// ApplicationBean application = (ApplicationBean)
	// getManagedSessionBean("Application");
	// return application;
	// }
	//
	// public static NavigationBean getNavigation() {
	// NavigationBean navigation = (NavigationBean)
	// getManagedSessionBean("Navigation");
	// return navigation;
	// }
	//
	// public static Object getManagedSessionBean(String beanName) {
	// ELResolver resolver = getFacesContext().getApplication().getELResolver();
	// return resolver.getValue(getFacesContext().getELContext(), null,
	// beanName);
	// }
	//
	// public static void setManagedBean(String beanName, Object value) {
	// ELResolver resolver = getFacesContext().getApplication().getELResolver();
	// resolver.setValue(getFacesContext().getELContext(), null, beanName,
	// value);
	// }
	//
	// public static void addNotification(Notification notification) {
	// if (notification.getType().equals(NotificationType.ERROR)) {
	// addError(notification.getMessageCode(), notification.getParameters(),
	// notification.isShowMessage());
	// }
	// if (notification.getType().equals(NotificationType.WARNING)) {
	// addWarning(notification.getMessageCode(), notification.getParameters(),
	// notification.isShowMessage());
	// }
	// if (notification.getType().equals(NotificationType.INFO)) {
	// addInfo(notification.getMessageCode(), notification.getParameters(),
	// notification.isShowMessage());
	// }
	// }
	//
	// public static void addError(String messageKey, Object[] parameters) {
	// addError(messageKey, parameters, true);
	// }
	//
	// public static void addError(String messageKey, Object[] parameters,
	// boolean showMessage) {
	// String message = getResourceBundleString(RESOURCE_BUNDLE, messageKey,
	// parameters);
	// if (messageKey.startsWith("ERROR.HOST") && message.equals(messageKey)) {
	// message = getResourceBundleString(RESOURCE_BUNDLE, "JADK.SQLEXCEPTION",
	// parameters);
	// }
	// getFacesContext().addMessage(null,
	// new EposFacesMessage(FacesMessage.SEVERITY_ERROR, message, message,
	// showMessage));
	// }
	//
	// public static void addInfo(String messageKey, Object[] parameters) {
	// addInfo(messageKey, parameters, true);
	// }
	//
	// public static void addInfo(String messageKey, Object[] parameters,
	// boolean showMessage) {
	// String message = getResourceBundleString(RESOURCE_BUNDLE, messageKey,
	// parameters);
	// getFacesContext().addMessage(null,
	// new EposFacesMessage(FacesMessage.SEVERITY_INFO, message, message,
	// showMessage));
	// }
	//
	// public static void addWarning(String messageKey, Object[] parameters) {
	// addWarning(messageKey, parameters, true);
	// }
	//
	// public static void addWarning(String messageKey, Object[] parameters,
	// boolean showMessage) {
	// String message = getResourceBundleString(RESOURCE_BUNDLE, messageKey,
	// parameters);
	// getFacesContext().addMessage(null,
	// new EposFacesMessage(FacesMessage.SEVERITY_WARN, message, message,
	// showMessage));
	// }
	//
	// public static String getResourceBundleString(String moduleBundleName,
	// String key, Object[] parameters) {
	// return getResourceBundleString(moduleBundleName, key, parameters, null);
	// }
	//
	// public static String getResourceBundleString(String moduleBundleName,
	// String key, Object[] parameters, Locale locale) {
	// String value = null;
	//
	// Locale localLocale = null;
	// if (locale == null)
	// localLocale = getLocale();
	// else
	// localLocale = locale;
	// if (locale == null) {
	// if (getLocale() != null)
	// localLocale = getLocale();
	// }
	// ResourceBundle bundle = ResourceBundle.getBundle(moduleBundleName,
	// localLocale);
	// if (bundle == null)
	// return key;
	// try {
	// value = bundle.getString(key);
	// } catch (MissingResourceException e) {
	// value = key;
	// }
	// if (value == null)
	// return StringUtils.EMPTY;
	// if (parameters != null)
	// value = MessageFormat.format(value, parameters);
	// return value;
	// }
	//
	// public static String getResourceBundleString(ResourceBundle bundle,
	// String key, Object[] parameters) {
	// if (bundle == null)
	// return key;
	// String value = null;
	// try {
	// value = bundle.getString(key);
	// } catch (MissingResourceException e) {
	// value = key;
	// }
	// if (value == null)
	// return StringUtils.EMPTY;
	// if (parameters != null)
	// value = MessageFormat.format(value, parameters);
	// return value;
	// }
	//
	// public static void setParameter(String key, Object value) {
	// Map<String, Object> map =
	// getFacesContext().getExternalContext().getSessionMap();
	// map.put(key, value);
	//
	// }
	//
	// public static Object getParameter(String key) {
	// Map<String, Object> map =
	// getFacesContext().getExternalContext().getSessionMap();
	// if (map.containsKey(key)) {
	// Object value = map.get(key);
	// return value;
	// }
	// return null;
	// }
	//
	// public static String getPagePath() {
	// FacesContext context = FacesContext.getCurrentInstance();
	// HttpServletRequest request = (HttpServletRequest)
	// context.getExternalContext().getRequest();
	// return request.getServletPath();
	// }
	//
	// public static String getViewId() {
	// if (FacesContext.getCurrentInstance() != null &&
	// FacesContext.getCurrentInstance().getViewRoot() != null)
	// return FacesContext.getCurrentInstance().getViewRoot().getViewId();
	// else
	// return "";
	// }
	//
	// public static void redirect(String path) {
	// redirect(getContextPath(), path);
	// }
	//
	// public static void redirect(String contextPath, String path) {
	// FacesContext context = FacesContext.getCurrentInstance();
	// HttpServletResponse response = (HttpServletResponse)
	// context.getExternalContext().getResponse();
	// try {
	// response.sendRedirect(contextPath + path);
	// context.responseComplete();
	// } catch (IOException e) {
	// Logger.error(FacesUtils.class, "Error redirecitng to " + path, e);
	// }
	// }
	//
	// public static void redirectToReleaseLockPage() {
	// redirect(RELEASE_LOCK_PAGE_PATH);
	// }
	//
	// public static void redirectToErrorPage() {
	// redirect(ERROR_PAGE);
	// }
	//
	// public static void redirectToHtmlErrorPage() {
	// redirect(ERROR_HTML_PAGE);
	// }
	//
	// public static void redirectToLogoutPage() {
	// redirect(LOGOUT_PAGE);
	// }
	//
	// public static void redirectToMainPage() {
	// redirect(MAIN_PAGE);
	// }
	//
	// public static void redirectToLoginPage() {
	// redirect(LOGIN_PAGE);
	// }
	//
	// public static void redirectNavigationCase(String outcome) {
	// EposNavigationHandler handler = (EposNavigationHandler)
	// FacesUtils.getFacesContext().getApplication().getNavigationHandler();
	// NavigationCase navCase =
	// handler.getNavigationCase(FacesUtils.getFacesContext(), null, outcome);
	// if (navCase == null)
	// return;
	// redirect(navCase.getToViewId(FacesUtils.getFacesContext()));
	// }
	//
	// public static HttpServletResponse getServletResponse() {
	// return (HttpServletResponse) getExternalContext().getResponse();
	// }
	//
	// public static HttpServletRequest getServletRequest() {
	// return (HttpServletRequest) getExternalContext().getRequest();
	// }
	//
	// public static ExternalContext getExternalContext() {
	// return getFacesContext().getExternalContext();
	// }
	//
	// public static void checkPageLock() {
	// boolean engagePageLock = getUserSession().checkPageLock();
	// if (engagePageLock) {
	// throw new PageLockException();
	// }
	// }
	//
	// public static Locale getLocale() {
	// return getFacesContext().getViewRoot().getLocale();
	// }
	//
	// public void setLocale(Locale locale) {
	// this.locale = locale;
	// }
	//
	// public static Flash getFlash() {
	// return getFacesContext().getExternalContext().getFlash();
	// }
	//
	// public static Object flashGet(String parameter) {
	// return getFlash().get(parameter);
	// }
	//
	// public static void flashPutNow(String parameter, Object value) {
	// getFlash().putNow(parameter, value);
	// }
	//
	// public static void flashPut(String parameter, Object value) {
	// getFlash().put(parameter, value);
	// }
	//
	// public static void flashRemove(String parameter) {
	// getFlash().remove(parameter);
	// }
	//
	// public static boolean putFlashBeanToThis(Object toThis) {
	// ManagedBean managedBean =
	// toThis.getClass().getAnnotation(ManagedBean.class);
	// String beanName = managedBean.name();
	// Object flashObject = getFlash().get(beanName);
	// if (flashObject != null) {
	// try {
	// BeanUtils.copyProperties(toThis, flashObject);
	// return true;
	// } catch (IllegalAccessException e) {
	// e.printStackTrace();
	// } catch (InvocationTargetException e) {
	// e.printStackTrace();
	// }
	// return false;
	// }
	// return false;
	// }
	//
	// public static void putThisToFlashBean(Object toThis) {
	// ManagedBean managedBean =
	// toThis.getClass().getAnnotation(ManagedBean.class);
	// String beanName = managedBean.name();
	// getFlash().put(beanName, toThis);
	// }
	//
	// public static Object getViewMap(String beanName) {
	// Object object =
	// FacesContext.getCurrentInstance().getViewRoot().getViewMap().get(beanName);
	// return object;
	// }
	//
	// public static void setViewMap(String beanName, Object value) {
	// FacesContext.getCurrentInstance().getViewRoot().getViewMap().put(beanName,
	// value);
	// }

}
